package com.crm.system.service.customerManager;

import com.crm.common.model.DhPageInfo;
import com.crm.model.entity.common.Dictionary;
import com.crm.model.entity.customerManager.*;
import com.crm.model.qo.customerManager.CustomerPoolAddQO;
import com.crm.model.qo.customerManager.CustomerPoolQO;
import com.crm.model.qo.customerManager.SendCodeQO;
import com.crm.model.vo.cluePoolManager.UserCompanyVO;
import com.crm.model.vo.customerManager.*;

import java.util.List;


/**
 * @ Author ：baijian
 * @ Date   ：2021/8/7 15:40
 */
public interface CustomerSendCodeService {

    /**
     * 会员卡信息
     * @param pageIndex 页码
     * @param pageSize 条数
     * @param sortName 名称
     * @param sortOrder 排序
     * @param sendCodeQO 发码参数
     * @return
     */
    DhPageInfo<DetailMemberCardVO> customerProductDetailMemberCardList(Integer pageIndex, Integer pageSize, String sortName, String sortOrder, SendCodeQO sendCodeQO);

    /**
     * 税法直通车
     * @param pageIndex 页码
     * @param pageSize 条数
     * @param sortName 名称
     * @param sortOrder 排序
     * @param sendCodeQO 发码参数
     * @return
     */
    DhPageInfo<CustomerProductDetailThroughTrainTaxVO> customerProductDetailThroughTrainTaxList(Integer pageIndex, Integer pageSize, String sortName, String sortOrder, SendCodeQO sendCodeQO);

    /**
     * 兑换码信息
     * @param pageIndex 页码
     * @param pageSize 条数
     * @param sortName 名称
     * @param sortOrder 排序
     * @param sendCodeQO 发码参数
     * @return
     */
    DhPageInfo<CustomerProductDetailExchangeCodeVO> customerProductDetailExchangeCodeList(Integer pageIndex, Integer pageSize, String sortName, String sortOrder, SendCodeQO sendCodeQO);

    /**
     * 云顾问卡信息
     * @param pageIndex 页码
     * @param pageSize 条数
     * @param sortName 名称
     * @param sortOrder 排序
     * @param sendCodeQO 发码参数
     * @return
     */
    DhPageInfo<CustomerProductDetailYunVO> customerProductDetailYunList(Integer pageIndex, Integer pageSize, String sortName, String sortOrder, SendCodeQO sendCodeQO);


    /**
     * 充值卡
     * @param pageIndex 页码
     * @param pageSize 条数
     * @param sortName 名称
     * @param sortOrder 排序
     * @param sendCodeQO 发码参数
     * @return
     */
    DhPageInfo<CustomerProductDetailRechargeCodeVO> customerProductDetailRechargeCodeList(Integer pageIndex, Integer pageSize, String sortName, String sortOrder, SendCodeQO sendCodeQO);


    /**
     * 优惠劵
     * @param pageIndex 页码
     * @param pageSize 条数
     * @param sortName 名称
     * @param sortOrder 排序
     * @param sendCodeQO 发码参数
     * @return
     */
    DhPageInfo<CustomerProductDetailCouponVO> customerProductDetailCouponList(Integer pageIndex, Integer pageSize, String sortName, String sortOrder, SendCodeQO sendCodeQO);
}
